package com.magicalcoder.pigeon.mysql.manager.execute;

import java.util.List;

/**
 * Created by hzhedongyu on 2017/6/14.
 */
public interface Execute {

    /**
     * select 1
     * 保证
     */
    void select1();

    /**
     * 执行
     * @param sql
     * @param clazz
     * @param <T>
     * @return
     */
    <T> List<T> selectList(String sql, Class<T> clazz);

    /**
     * 更新
     * @param sql
     * @param params
     */
    void update(String sql, List<Object> params);


    /**
     * 释放Connection资源
     */
    void release();

    /**
     * 开启事务
     */
    void begin();

    /**
     * 提交事务
     */
    void commit();

    /**
     * 回滚事务
     */
    void rollback();
}
